<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box {
            /* box选项卡 宽度302 居中  */
            width: 302px;
            margin: 100px auto;
            border: 1px solid #ddd;
        }

        .box .header {
            /* box 里面的header样式 */
            height: 35px;
            line-height: 35px;
        }

        .box .header span {
            /* box header里的span样式 左浮动 宽100 灰色背景 白色字体 鼠标指向改为小手 */
            float: left;
            width: 100px;
            border-right: 1px solid #fff;
            background: #ddd;
            text-align: center;
            color: #fff;
            cursor: pointer;
        }

        .box .header span:last-child {
            border-right: none;
        }

        /* cur 选中的选项, 背景改为白色,字体改为灰色 */
        .box .header .cur {
            background: #fff;
            color: #ddd;
        }

        .box .content {
            line-height: 30px;
            font-size: 14px;
            padding: 5px;
        }

        .box .content p {
            border-bottom: 1px solid #ddd;
        }
    </style>
</head>
<body>
<div class="box" id="app">
    <div class="header">
        <!-- cur的显示状态是根据curState的状态进行显示的，如果curState和index相等了当前css属性cur就生效了 -->
        <!-- displayState(方法)事件的作用是将当前span的index传出去 -->
        <span :class="{cur: curState === index}" v-for="(item,index) in hTitle"
              @mouseenter="displayState(index)">{{item}}</span>
    </div>
    <!-- 需要频繁切换,使用v-show来判断是否显示 -->
    <div class="content" v-show="curState === 0">
        <p>首页首页首页首页首页首页首页首页首页</p>
        <p>首页首页首页首页首页首页首页首页首页</p>
        <p>首页首页首页首页首页首页首页首页首页</p>
        <p>首页首页首页首页首页首页首页首页首页</p>
        <p>首页首页首页首页首页首页首页首页首页</p>
        <p>首页首页首页首页首页首页首页首页首页</p>

    </div>
    <div class="content" v-show="curState === 1">
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
        <p>新闻新闻新闻新闻新闻新闻新闻新闻新闻</p>
    </div>
    <div class="content" v-show="curState == 2">
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>
        <p>娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐娱乐</p>

    </div>
</div>
<script src="js/vue.js"></script>
<script>
    var vue = new Vue({
        el: "#app",
        data: {
            hTitle: ['首页', '新闻', '娱乐'],
            showContent: true,
            // 显示状态，curState和谁相等了，谁显示
            curState: 0
        },
        methods: {
            // 接受span的index值从而实现统一
            displayState(index) {
                this.curState = index;
            }
        },
    })
</script>
</body>
</html>